package case2Object_oriented;

/**
 * @program: AlibabaJavaIntroduction
 * @description: 引用与垃圾产生分析
 * @author: 朱志文
 * @create: 2021-12-21 22:41
 **/
public class Test6CitationSpam_generation_analysis {
    public static void main(String[] args) {
        //定义一个要分析的程序
        Person person1 = new Person(); //看到new就知道创建新的堆内存
        Person person2 = new Person();
        person1.setName("张三");
        person1.setAge(18);
        person2.setName("李四");
        person2.setAge(22);
        person2=person1;//person2 的栈内存改变没person1的堆内存
        //而person2的堆内存就成了垃圾空间（没有任何栈内存所指向的堆内存的空间，所有的垃圾将被我们的GC（垃圾收集器）定期进行回收）
        //一个栈内存只能够保存有一个堆内存的地址数据，如果发生更改，则之前的地址数据将从此栈内存中彻底消失
        person2.tell();
    }
}
